from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI

# 大模型
llm = OpenAI(
    api_key="sk-VowKQBUMIkSND8WScNJtDLqf3FyqWHQ43LMVUXH1m6GZaopA",
    base_url="https://ai.nengyongai.cn/v1",
    temperature=0
)


# 工具函数
def get_weather(city: str) -> str:
    """
    获取指定城市当前天气
    """
    # 这里调用实际天气API，示例返回假数据
    # return f"{city}当前气温 10°C，晴朗"
    return f"{city}无天气记录"


def test():
    # 工具
    weather_tool = Tool(
        name="get_weather",
        func=get_weather,
        description="获取城市当前天气，例如输入: get_weather('杭州')"
    )
    # 初始化Agent，赋予工具
    agent = initialize_agent([weather_tool],
                             llm,
                             agent="zero-shot-react-description",
                             verbose=True)

    # 让Agent回答问题
    resp = agent.run("今天北京的天气怎么样？")
    print(resp)
